public class DenemeLiseKitabi
{

	public static void main(String[] args)
	{
		Kitap nKitap = new Kitap("Java, Bilgisayat Programlamaya Giris");
		DersKitabi nDersKitabi = new DersKitabi(nKitap.getIsim(), "Nesne Yonelimli Programlama");
		LiseKitabi nLiseKitabi = new LiseKitabi(nDersKitabi.getIsim(), nDersKitabi.getKonu(), 10);
		
		System.out.println("Kitap sinifinin nesnesi yaziyor:");
		nKitap.ciktiYaz();

		System.out.println("\nDersKitabi sinifinin nesnesi yaziyor:");
		nDersKitabi.ciktiYaz();

		System.out.println("\nLiseKitabi sinifinin nesnesi yaziyor:");
		nLiseKitabi.ciktiYaz();
	}

}


class Kitap
{
	private String isim;

	public Kitap(String isim)
	{
		this.setIsim(isim);
	}

	public Kitap()
	{
		this.setIsim("");
	}
	
	public String getIsim()
	{
		return isim;
	}

	public void setIsim(String isim)
	{
		this.isim = isim;
	}
	
	public void ciktiYaz()
	{
		System.out.println("Kitabin adi: " + this.getIsim());		
	}
}

class DersKitabi extends Kitap
{
	private String konu;

	public DersKitabi(String isim, String konu)
	{
		super(isim);
		this.setKonu(konu);
	}
	
	public DersKitabi()
	{
		super();
		this.setIsim("");
	}
	
	public String getKonu()
	{
		return konu;
	}

	public void setKonu(String konu)
	{
		this.konu = konu;
	}
	
	public void reset(String yeniIsim, String yeniKonu)
	{
		this.setIsim(yeniIsim);
		this.setKonu(yeniKonu);
	}
	
	public void ciktiYaz()
	{
		super.ciktiYaz();
		System.out.println("Kitabin Konusu: " + this.getKonu());
	}
}

class LiseKitabi extends DersKitabi
{
	private double fiyat;

	public LiseKitabi(String isim, String konu, double fiyat)
	{
		super(isim, konu);
		this.fiyat = fiyat;
	}

	public LiseKitabi()
	{
		super();
		this.fiyat = 0.0;
	}
	
	public double getFiyat()
	{
		return fiyat;
	}

	public void setFiyat(double fiyat)
	{
		this.fiyat = fiyat;
	}
	
	public void ciktiYaz()
	{
		super.ciktiYaz();
		System.out.println("Kitabin fiyati: " + this.getFiyat() + "TL");
	}
}